/*Ingredients*/
/*Purpose : Query for project C.2*/
/*PIC : Archie Anugrah. Project C.2*/
/*Nature : Static Class*/
/*Status : Completed*/


#ifndef QUERY_ARCHIE
#define QUERY_ARCHIE

#include <map>
#include <algorithm>
#include <iostream>
#include <string>
#include "Order_Item.h"
#include "Menu_Item.h"
#include "ShowFindUpdate.h"

using namespace std;

struct Queryarc {
public:
	//Main Functions
	Queryarc(); //default constructor
	static void DisplayTopFiveMenuItems(vector<Order_Item> order_itemsVector, vector<Menu_item> menu_itemsVector); // C.2. c. Display the top five selling menu items by revenue regardless of category
	static void DisplayTopOrder(vector<Order_Item> order_itemsVector, vector<Menu_item> menu_itemsVector);// C.2. d. Display the order with the largest tab price
	static bool DeleteMenuItemfromCate(vector<Menu_item> &menu_itemsVector,string category_id, int menu_id);// Team problem : delete a menu item from a category

	//Support Functions
private :
	static void print_menu_sales(const map<int, double>& m, vector<Menu_item> menu_itemsVector); // Function : Print sales map
};


#endif //QUERY_ARCHIE
